package lock;

/**
 * @author ：黄淼淳
 * @description：函数式接口，lambda表达式
 * @date ：2021/12/12 13:51
 */

import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.CopyOnWriteArraySet;

/**
 * 函数式接口，只能定义一个非静态，非默认的方法
 * 可以定义多个静态或默认方法
 */
@FunctionalInterface
interface TT {
    void test();

    default int test1(int x, int y) {
        return x * y;
    }

    static int test2(int x, int y) {
        return x + y;
    }
}

/**
 * 使用lamda表达式
 */
public class Lambda {
    public static void main(String[] args) {
        lambda();
    }

    public static void lambda(){
         TT tt = ()->{
            System.out.println("函数式接口");
        };
        tt.test();
        System.out.println(tt.test1(1,2));
        System.out.println(TT.test2(1,2));


    }
}
